<?php
function hc_register(&$vars){
	global $main_smarty, $the_template, $hc_registered;

	if ($hc_registered) return;
	$hc_registered = true;

	if(!isset($_SESSION)){session_start();}
	$_SESSION['hc_math_answer'] == '';

	$q_1_low = (get_misc_data('hc_math_q1low') == '') ? 1 : get_misc_data('hc_math_q1low');
	$q_1_high = (get_misc_data('hc_math_q1high') == '') ? 5 : get_misc_data('hc_math_q1high');
	$q_2_low = (get_misc_data('hc_math_q2low') == '') ? 1 : get_misc_data('hc_math_q2low');
	$q_2_high = (get_misc_data('hc_math_q2high') == '') ? 5 : get_misc_data('hc_math_q2high');

	$number1 = md5(mt_rand($q_1_low, $q_1_high));
	do {		
		$number2 = md5(mt_rand($q_2_low, $q_2_high));
	} while ($number2==$number1);
	$number3 = md5(mt_rand($q_2_low, $q_2_high));

	$_SESSION['titlename'] = $number1;
	$_SESSION['bodyname']  = $number2;
	$_SESSION['commentname'] = $number3;
	$main_smarty->assign('name', $_SESSION['hc_math_answer_name']);

	// smarty prefilter
	$main_smarty->register_prefilter('add_header_comment');
}

// prefilter routine
function add_header_comment($tpl_source, &$smarty)
{

	return str_replace(
		array('name="title"',
		      'name="comment_content"',
		      'name="bodytext"'),
		array('name="{$templatelite.session.titlename}"',
		      'name="{$templatelite.session.commentname}"',
		      'name="{$templatelite.session.bodyname}"'),
		$tpl_source);
}



function hc_register_check_errors(&$vars){
	global $main_smarty, $the_template, $hc_checked;
	if ($hc_checked) return;
	$hc_checked = true;

	$username = $vars['username'];
	$email = $vars['email'];
	$password = $vars['password'];

	$main_smarty->assign('username', $username);
	$main_smarty->assign('email', $email);
	$main_smarty->assign('password', $password);

	if(!isset($_SESSION)){session_start();}

	if ((!isset($_POST[$_SESSION['titlename']]) || !isset($_POST[$_SESSION['bodyname']])) && !isset($_POST[$_SESSION['commentname']]))
	{
		$main_smarty->assign('register_hc_error', "Human Check error. Please try again.");
		$vars['error'] = true;
	} else {
		$_POST['title'] = $_POST[$_SESSION['titlename']];
		$_POST['bodytext'] = $_POST[$_SESSION['bodyname']];
		$_POST['comment_content'] = $_POST[$_SESSION['commentname']];
	}
	return true;
}
?>
